<?php
/**
 * Created by PhpStorm.
 * User: Inhere
 * Date: 2015/1/30
 * Use : ...
 * File: DataOption.php
 */

namespace ulue\libs\datastorage;


class DataOption
{
    /**
     * 载入数据支持格式
     */
    const JSON_FORMAT   = 'json';
    const ARRAY_FORMAT  = 'array';
    const OBJECT_FORMAT = 'object';
    const YAML_FORMAT   = 'yml';

    /**
     * 载入文件支持格式
     * 'json' 'ini' 'yml' -- string
     * 'php' 'inc' 'conf' -- array
     */
    const JSON_FILE   = 'json';
    const YAML_FILE   = 'yml';
    const PHP_FILE    = 'php';
    const INC_FILE    = 'inc';
    const INI_FILE    = 'ini';
    const CONF_FILE   = 'conf';

    /**
     * 设置存储数据的键名(配置名)是否统一格式
     * self::CASE_RAW 不做任何改变
     * self::CASE_LOWER 设置全部小写
     * self::CASE_UPPER 设置全部大写
     * @var int
     */
    const CASE_RAW    = -1;
    const CASE_LOWER  = 0;
    const CASE_UPPER  = 1;

    static public function getSupportedFile()
    {
        return ['json', 'yml', 'array', 'object'];
    }

    static public function getSupportedFormat()
    {
        return ['json', 'yml', 'php', 'inc', 'conf'];
    }

    static public function isSupportedFile($ext)
    {
        return in_array($ext, self::getSupportedFile());
    }

    static public function isSupportedFormat($format)
    {
        return in_array($format, self::getSupportedFormat());
    }

}// end class DataOption